package com.empire.module.member.dal.dataobject.presentation;

import com.empire.framework.mybatis.core.dataobject.BaseWithDeptDO;
import lombok.*;

import java.io.InputStream;
import java.util.*;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import com.empire.framework.mybatis.core.dataobject.BaseDO;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * 报告 DO
 *
 * @author 主席大人
 */
@TableName("member_presentation")
@KeySequence("member_presentation_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class PresentationDO extends BaseWithDeptDO {

    /**
     * 数据Id
     */
    @TableId
    private Long id;
    /**
     * 报告名称
     */
    private String name;
    /**
     * 备注
     */
    private String remark;

    /**
     * 编辑内容
     */
    @TableField("editor_contact")
    private String editorContact;

    /**
     * word文档
     */
    @TableField("word_file")
    private InputStream wordFile;

    /**
     * Word文件存储路径
     */
    @TableField("word_file_path")
    private String wordFilePath;

    /**
     * 是否有文件
     */
    @TableField("has_file")
    private Boolean hasFile;

    /**
     * 文件生成时间
     */
    @TableField(value = "file_generate_time", fill = FieldFill.UPDATE)
    private LocalDateTime fileGenerateTime;

    /**
     * 开始时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date startTime;
    /**
     * 最后更新时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date endTime;

}